package com.xpec.cipher;

/**
 * @author Francois
 * 
 */
public class CipherConnectionConstant {
	/**
	 * Session参数： 连接的状态
	 */
	public static final int PARA_KEY_STATUS = 0;//"cipher_filter_status";

	/**
	 * server随机数
	 * 
	 * @auther Francois
	 */
	public static final int PARA_KEY_SERVER_RANDOM = 1;//"server_random";

	/**
	 * client随机数
	 * 
	 * @auther Francois
	 */
	public static final int PARA_KEY_CLIENT_RANDOM = 2;//"client_random";
	
	/**
	 * rsa的密钥对
	 * 
	 * @auther Francois
	 */
	public static final int PARA_KEY_KEY_PAIR = 3;//"key_pair";

	public static final int PARA_KEY_KEY = 4;//"key";					/// 由 master secret 衍生的 symmetric key
	
	public static final int PARA_KEY_MAC_KEY = 5;//"mackey";				/// 由 master secret 衍生的 MAC key
	
	public static final int PARA_KEY_MASTER_KEY = 6;//"master_key";		/// client 的 master secret

	public static final int PARA_KEY_CIPHER_ALGO = 7;//"cipher_algo";

	public static final int PARA_KEY_HMAC_ALGO = 8;//"hmac_algo";

	public static final int PARA_KEY_ENCRYPT_COUNT = 9;//"en_count";	/// 目前總共發送了多少消息, 參與 HMAC的製造
	public static final int PARA_KEY_DECRYPT_COUNT = 10;//"de_count";	/// 目前總共收到了多少消息, 參與 HMAC的驗證
	
	
	/**
	 * client 用
	 * 儲存 server 傳送過來的 RSA Public Key 相關, 就是 Server 用的 TalsConstance.MAC_SIZE
	 */
	public static final int PARA_KEY_MAC_SIZE = 11;//"mac_size";
	
	/**
	 * client 用
	 * 儲存 server 傳送過來的 cipher
	 */
	public static final int PARA_KEY_SERVER_CIPHER = 12;//"server_cipher";
	
	/**
	 * 握手完成后，服务器生成的加解密对象，DES、777、RC4三种 
	 * @auther Francois
	 */
	public static final int PARA_KEY_SERVER_CIPHER_OBJECT = 13;//"cipher_obj";

	public static final int PARA_KEY_ENCRYPT_KEY = 14;// 封包加解密用的 key

	/**
	 * 識別 client 是否為機器人
	 */
	public static final int PARA_KEY_CLIENT_IS_ROBOT = 15;

	public static final int MAX_SIZE = 16;
}
